package fr.ensai.testRest.modele;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

@Entity
@XmlRootElement(name="livre")
@XmlAccessorType(XmlAccessType.FIELD)
public class Livre {
	

	@XmlElement(name="titre")
	private String titre;
	@XmlElement(name="auteur")
	private String auteur;
	
	@Id
	@XmlElement(name="isbn")
	private String isbn;
	
	@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY)
	@XmlElementWrapper(name="critiques")
	@XmlElement(name="critique")
	private List<Critique> critiques = new ArrayList<Critique>();
	
	
	public void addCritique(Critique critique){
		this.critiques.add(critique);
	}
	
	public String getTitre() {
		return titre;
	}
	public void setTitre(String titre) {
		this.titre = titre;
	}
	public String getAuteur() {
		return auteur;
	}
	public void setAuteur(String auteur) {
		this.auteur = auteur;
	}
	public String getIsbn() {
		return isbn;
	}
	public void setIsbn(String isbn) {
		this.isbn = isbn;
	}
	
}
